#pragma once
#include "TokenType.h"

using namespace System;

namespace squirrel
{
	namespace interpreter
	{
		public ref class Token
		{
		private:
			squirrel::interpreter::TokenType _TokenType;
			String^ _Text;
			int _LineNo;

		public:
			property squirrel::interpreter::TokenType TokenType
			{
				squirrel::interpreter::TokenType get()
				{
					return this->_TokenType;
				}
			}

			property int LineNo
			{
				int get()
				{
					return this->_LineNo;
				}
			}

			property String^ Text
			{
				String^ get()
				{
					return this->_Text;
				}
			}

			Token(squirrel::interpreter::TokenType tokenType, String^ text, int LineNo)
			{
				this->_TokenType = tokenType;
				this->_Text = text;
				this->_LineNo = LineNo;
			}

		};
	}
}